package main

// 到达最后一个位置的最小跳跃次数2

func jump(nums []int) int {
	if len(nums) == 0 {
		return 1
	}
	n := len(nums)
	// dp[i]: 到达i位置的最小跳跃次数
	// 青蛙跳台阶：从后往前考虑
	//
	steps := 0
	index := n - 1
	for index > 0 {
		for i := 0; i < index; i++ {
			// 更新到index的
			if i+nums[i] >= index {
				index = i
				steps++
				break
			}
		} // break
	}
	return steps
}
